package com.feemanage.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.common.validate.edit;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.framework.config.BigDecimalSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 经费外拨从表
 */
@Data
@ApiModel("经费外拨从表")
@TableName("biz_project_outbound")
public class BizProjectOutbound extends  myBaseEntity{

    private static final long serialVersionUID = 1L;

    /** 自增ID */
    @ApiModelProperty("主键id")
    @TableId(value = "id",type = IdType.ASSIGN_UUID)
    @NotNull(message = "id不能为空", groups = {edit.class})
    private String id;

    /** 项目id */
    @ApiModelProperty("项目id")
    private String projectId;

    /** 外拨金额 */
    @ApiModelProperty("外拨金额")
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal outboundFee;

    /** 申请外拨日期 */
    @ApiModelProperty("申请外拨日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime outboundDate;

    /** 负责人名称 */
    @ApiModelProperty("负责人名称")
    private String chargerName;

    /** 单位名称 */
    @ApiModelProperty("单位名称")
    private String unitName;

    /** 审核状态 */
    @ApiModelProperty("审核状态")
    private String checkstatus;

    /** 审核日期 */
    @ApiModelProperty("审核日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String checkdate;

    /** 审核人 */
    @ApiModelProperty("审核人")
    private String checker;

    /**
     * 银行名称
     */
    @ApiModelProperty("银行名称")
    private String bankName;

    /**
     * 银行卡号
     */
    @ApiModelProperty("银行卡号")
    private String bankNum;

    /**
     * 所属单位id
     */
    @ApiModelProperty("所属单位id")
    private String unitId;

    /**
     *
     */
    private String allocationDetail;

    /**
     * 主表id
     */
    @ApiModelProperty("主表id")
    private String projectOutboundMainId;

}
